﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:services="clr-namespace:Sebastof.Services.Impl;assembly=Sebastof.Services.Impl"
     xmlns:process="clr-namespace:Sebastof.ProcessChains.ProcessSteps;assembly=Sebastof.Serialisation"
     xmlns:profiles="clr-namespace:Prototyp1.TestServer;assembly=Prototyp1.TestServer" >

    <profiles:ProfileConfiguration x:Key="Profile" 
                                    ProfileName="CacheBasedLazyLoadProfile"
                                    IsServerProfile="False" 
                                    PreferredCorrespondingProfile="CacheBasedLazyLoadProfile_Server">
        <profiles:ProfileConfiguration.Services>
            <services:SimpleCache/>
            <services:MetadataLocatorRegisterService Id="LazyLoadingProfile.Client"/>
            <services:ChangeTrackingCacheService/>
            <services:ObjectMappingLocatorRegisterService/>
            <services:DeserializationTargetTypeService/>
            <services:ObjectTrackerMetadataService/>
            <services:ObjectTrackerService/>
            <services:ObservableCollectionCreatorService/>
            <services:LazyLoadingSerializationDataHandlingStrategyService/>
            <services:ObjectTreeHelperService/>
            <services:DiagnosticsDataCollectorService/>
        </profiles:ProfileConfiguration.Services>
        <profiles:ProfileConfiguration.Processes>
            <process:DeSerializeObjectTransportContainer >
                <process:ObjectMapperStep>
                    <process:UseCachedObjectStep>
                        <process:UnDecorateObject>
                            <process:CachedOriginalDataObject>
                                <process:ChangeTrackingRegister/>
                            </process:CachedOriginalDataObject>
                        </process:UnDecorateObject>
                    </process:UseCachedObjectStep>
                </process:ObjectMapperStep>
            </process:DeSerializeObjectTransportContainer>
            <process:DeSerializeAnonymousCollectionTransportContainer>
                <process:UnDecorateAnonymousCollection/>
            </process:DeSerializeAnonymousCollectionTransportContainer>
            <process:DeSerializeCollectionTransporter>
                <process:CollectionMapperStep>
                    <process:UseCachedCollectionStep>
                        <process:UnDecorateCollection>
                            <process:CachedOriginalDataCollection>
                                <process:ChangeTrackingRegisterCollection/>
                            </process:CachedOriginalDataCollection>
                        </process:UnDecorateCollection>
                    </process:UseCachedCollectionStep>
                </process:CollectionMapperStep>
            </process:DeSerializeCollectionTransporter>
        </profiles:ProfileConfiguration.Processes>
    </profiles:ProfileConfiguration>
</ResourceDictionary>
